1. Field of the Invention
The present invention relates to error tracking and monitoring arrangements and, more particularly, to error tracking and monitoring arrangements in multitasking environments.
2. Description of Related Art
With the advent of multitasking environments (including multitask operating systems such as UNIX, GEM, Windows, Deskview, and OS/2, as well as the Traffic Recording Presentation system developed by the assignee of the present invention), it has become necessary to develop and provide mechanisms within those environments to track and monitor errors.
Heretofore a variety of systems and methods have been developed to perform the necessary error tracking and monitoring functions. Many of these systems and methods have been discussed in U.S. patents. For example, U.S. Pat. No. 4,133,477 to Marino et al. discloses a system in which a flag array is used to detect errors in a system having multiple processing components. Separate flags are associated with separate components, and the flags are operatively caused to trigger upon detection of a fault in their associated components. Marino et al. teach scanning the flag array, and upon detection of a fault flag, causing display of indicia relating to the fault location through the medium of a display. In Marino et al., however, errors are effectively only detected and reported with a single process. Another system for error tracking and monitoring is disclosed in U.S. Pat. No. 3,704,363 to Salmassey et al. which teaches the use of a data storage subsystem to record faults in multiple physical storage volumes within a data storage system. Salmassey et al. disclose a system for providing only error statistics, however, not a display, and do not include any teachings whatsoever about multitasking. Still other error tracking and monitoring systems are disclosed in U.S. Pat. Nos. 4,696,026 and 4,453,210 to Plouff and Suzuki et al., respectively. Plouff teaches simultaneously displaying the status of a plurality of switches, however, he does not mention what happens if errors occur simultaneously. Suzuki et al. teach a system, implementable by either software or hardware, in which a plurality of processors are provided with associated counters having codes therein. The individual processors periodically update their associated codes on a longer cycle than the cycle of the updating period. By not updating the fault supervising code corresponding to a processor if an error occurs in a processor, a faulty processor, can be detected by periodically supervising the update status of the fault supervising code. However, Suzuki et al., like Plouff, do not contemplate or discuss a situation in which multiple errors occur simultaneously.
Based on the foregoing it should be clear that notwithstanding the teachings of Marino et al. Salmassey et al., Plouff, and Suzuki et al., as well as other similar teachings of the prior art, a deficiency and shortcoming has heretofore existed with respect to errors occurring simultaneously in different processes of a multitasking environment. In many such multitasking environments, only one error can be handled at a time. This causes no problem as long as a detected error is corrected or otherwise handled before another error occurs. If, on the other hand, a first error is not handled before another error occurs in such multitasking environments, e.g., when errors occur simultaneously, the second error condition overrides the first error condition and it is lost. Thus, simultaneously occurring errors have not been effectively handled in prior art systems.
The above-described shortcoming and deficiency of the prior art is a serious one. Failure to provide a solution to the problem of overridden errors can cause inefficiencies in system diagnosis. On the other hand, providing a multitude of separate mechanisms to simultaneously handle multiple errors uses resources inefficiently and/or greatly increases the number of components and, hence, cost of a system in which error tracking is performed. Until development of the present invention, there was no efficient method for tracking errors in multitasking environments.